package org.example.pet.util;

import org.mindrot.jbcrypt.BCrypt;

public class BCryptUtil {

    /**
     * 加密明文密码
     * @param rawPassword 明文密码
     * @return 加密后的密码
     */
    public static String encrypt(String rawPassword) {
        // gensalt() 生成盐值，可指定强度（4~31，默认10）
        String salt = BCrypt.gensalt();
        return BCrypt.hashpw(rawPassword, salt);
    }

    /**
     * 验证明文密码与加密密码是否匹配
     * @param rawPassword 明文密码
     * @param encodedPassword 加密后的密码
     * @return 匹配返回true，否则false
     */
    public static boolean verify(String rawPassword, String encodedPassword) {
        return BCrypt.checkpw(rawPassword, encodedPassword);
    }
}